<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>axis_angle_to_quat [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_transformations.html">变换</a> / <a href="toc_transformations_quaternions.html">四元数</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">axis_angle_to_quat</span><span data-if="c" style="display:none;">T_axis_angle_to_quat</span><span data-if="cpp" style="display:none;">AxisAngleToQuat</span><span data-if="dotnet" style="display:none;">AxisAngleToQuat</span><span data-if="python" style="display:none;">axis_angle_to_quat</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">axis_angle_to_quat</span><span data-if="c" style="display:none;">T_axis_angle_to_quat</span><span data-if="cpp" style="display:none;">AxisAngleToQuat</span><span data-if="dotnet" style="display:none;">AxisAngleToQuat</span><span data-if="python" style="display:none;">axis_angle_to_quat</span></code> — 创建旋转四元数。</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>axis_angle_to_quat</b>( :  : <a href="#AxisX"><i>AxisX</i></a>, <a href="#AxisY"><i>AxisY</i></a>, <a href="#AxisZ"><i>AxisZ</i></a>, <a href="#Angle"><i>Angle</i></a> : <a href="#Quaternion"><i>Quaternion</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_axis_angle_to_quat</b>(const Htuple <a href="#AxisX"><i>AxisX</i></a>, const Htuple <a href="#AxisY"><i>AxisY</i></a>, const Htuple <a href="#AxisZ"><i>AxisZ</i></a>, const Htuple <a href="#Angle"><i>Angle</i></a>, Htuple* <a href="#Quaternion"><i>Quaternion</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>AxisAngleToQuat</b>(const HTuple&amp; <a href="#AxisX"><i>AxisX</i></a>, const HTuple&amp; <a href="#AxisY"><i>AxisY</i></a>, const HTuple&amp; <a href="#AxisZ"><i>AxisZ</i></a>, const HTuple&amp; <a href="#Angle"><i>Angle</i></a>, HTuple* <a href="#Quaternion"><i>Quaternion</i></a>)</code></p>
<p>
<code>void <a href="HQuaternion.html">HQuaternion</a>::<b>HQuaternion</b>(const HTuple&amp; <a href="#AxisX"><i>AxisX</i></a>, const HTuple&amp; <a href="#AxisY"><i>AxisY</i></a>, const HTuple&amp; <a href="#AxisZ"><i>AxisZ</i></a>, const HTuple&amp; <a href="#Angle"><i>Angle</i></a>)</code></p>
<p>
<code>void <a href="HQuaternion.html">HQuaternion</a>::<b>HQuaternion</b>(double <a href="#AxisX"><i>AxisX</i></a>, double <a href="#AxisY"><i>AxisY</i></a>, double <a href="#AxisZ"><i>AxisZ</i></a>, double <a href="#Angle"><i>Angle</i></a>)</code></p>
<p>
<code>void <a href="HQuaternion.html">HQuaternion</a>::<b>AxisAngleToQuat</b>(const HTuple&amp; <a href="#AxisX"><i>AxisX</i></a>, const HTuple&amp; <a href="#AxisY"><i>AxisY</i></a>, const HTuple&amp; <a href="#AxisZ"><i>AxisZ</i></a>, const HTuple&amp; <a href="#Angle"><i>Angle</i></a>)</code></p>
<p>
<code>void <a href="HQuaternion.html">HQuaternion</a>::<b>AxisAngleToQuat</b>(double <a href="#AxisX"><i>AxisX</i></a>, double <a href="#AxisY"><i>AxisY</i></a>, double <a href="#AxisZ"><i>AxisZ</i></a>, double <a href="#Angle"><i>Angle</i></a>)</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>AxisAngleToQuat</b>(<a href="HTuple.html">HTuple</a> <a href="#AxisX"><i>axisX</i></a>, <a href="HTuple.html">HTuple</a> <a href="#AxisY"><i>axisY</i></a>, <a href="HTuple.html">HTuple</a> <a href="#AxisZ"><i>axisZ</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Angle"><i>angle</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Quaternion"><i>quaternion</i></a>)</code></p>
<p>
<code>public <a href="HQuaternion.html">HQuaternion</a>(<a href="HTuple.html">HTuple</a> <a href="#AxisX"><i>axisX</i></a>, <a href="HTuple.html">HTuple</a> <a href="#AxisY"><i>axisY</i></a>, <a href="HTuple.html">HTuple</a> <a href="#AxisZ"><i>axisZ</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Angle"><i>angle</i></a>)</code></p>
<p>
<code>public <a href="HQuaternion.html">HQuaternion</a>(double <a href="#AxisX"><i>axisX</i></a>, double <a href="#AxisY"><i>axisY</i></a>, double <a href="#AxisZ"><i>axisZ</i></a>, double <a href="#Angle"><i>angle</i></a>)</code></p>
<p>
<code>void <a href="HQuaternion.html">HQuaternion</a>.<b>AxisAngleToQuat</b>(<a href="HTuple.html">HTuple</a> <a href="#AxisX"><i>axisX</i></a>, <a href="HTuple.html">HTuple</a> <a href="#AxisY"><i>axisY</i></a>, <a href="HTuple.html">HTuple</a> <a href="#AxisZ"><i>axisZ</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Angle"><i>angle</i></a>)</code></p>
<p>
<code>void <a href="HQuaternion.html">HQuaternion</a>.<b>AxisAngleToQuat</b>(double <a href="#AxisX"><i>axisX</i></a>, double <a href="#AxisY"><i>axisY</i></a>, double <a href="#AxisZ"><i>axisZ</i></a>, double <a href="#Angle"><i>angle</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>axis_angle_to_quat</b>(<a href="#AxisX"><i>axis_x</i></a>: Union[float, int], <a href="#AxisY"><i>axis_y</i></a>: Union[float, int], <a href="#AxisZ"><i>axis_z</i></a>: Union[float, int], <a href="#Angle"><i>angle</i></a>: Union[float, int]) -&gt; Sequence[Union[float, int]]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>Quaternions are an extension of the complex numbers. The set of quaternions
is given by <span title="1" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="20.6761em" height="1.12127em" viewBox="0 0 330.816925 17.940399">
<!-- Original BoundingBox: -165.408463 -8.970200 165.408463 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_43">
      <path style="fill-rule: evenodd;" d="M409.000000 -230.000000L688.000000 -230.000000C702.000000 -230.000000,721.000000 -230.000000,721.000000 -250.000000C721.000000 -270.000000,702.000000 -270.000000,688.000000 -270.000000L409.000000 -270.000000L409.000000 -550.000000C409.000000 -564.000000,409.000000 -583.000000,389.000000 -583.000000C369.000000 -583.000000,369.000000 -564.000000,369.000000 -550.000000L369.000000 -270.000000L89.000000 -270.000000C75.000000 -270.000000,56.000000 -270.000000,56.000000 -250.000000C56.000000 -230.000000,75.000000 -230.000000,89.000000 -230.000000L369.000000 -230.000000L369.000000 50.000000C369.000000 64.000000,369.000000 83.000000,389.000000 83.000000C409.000000 83.000000,409.000000 64.000000,409.000000 50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_3">
      <path style="fill-rule: evenodd;" d="M275.000000 -427.000000C276.000000 -441.000000,276.000000 -465.000000,250.000000 -465.000000C234.000000 -465.000000,221.000000 -452.000000,224.000000 -439.000000L224.000000 -426.000000L238.000000 -271.000000L110.000000 -364.000000C101.000000 -369.000000,99.000000 -371.000000,92.000000 -371.000000C78.000000 -371.000000,65.000000 -357.000000,65.000000 -343.000000C65.000000 -327.000000,75.000000 -323.000000,85.000000 -318.000000L227.000000 -250.000000L89.000000 -183.000000C73.000000 -175.000000,65.000000 -171.000000,65.000000 -156.000000C65.000000 -141.000000,78.000000 -128.000000,92.000000 -128.000000C99.000000 -128.000000,101.000000 -128.000000,126.000000 -147.000000L238.000000 -228.000000L223.000000 -60.000000C223.000000 -39.000000,241.000000 -34.000000,249.000000 -34.000000C261.000000 -34.000000,276.000000 -41.000000,276.000000 -60.000000L261.000000 -228.000000L389.000000 -135.000000C398.000000 -130.000000,400.000000 -128.000000,407.000000 -128.000000C421.000000 -128.000000,434.000000 -142.000000,434.000000 -156.000000C434.000000 -171.000000,425.000000 -176.000000,413.000000 -182.000000C353.000000 -212.000000,351.000000 -212.000000,272.000000 -249.000000L410.000000 -316.000000C426.000000 -324.000000,434.000000 -328.000000,434.000000 -343.000000C434.000000 -358.000000,421.000000 -371.000000,407.000000 -371.000000C400.000000 -371.000000,398.000000 -371.000000,373.000000 -352.000000L261.000000 -271.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_50">
      <path style="fill-rule: evenodd;" d="M548.000000 -230.000000C565.000000 -230.000000,583.000000 -230.000000,583.000000 -250.000000C583.000000 -270.000000,565.000000 -270.000000,548.000000 -270.000000L124.000000 -270.000000C136.000000 -404.000000,251.000000 -500.000000,392.000000 -500.000000L548.000000 -500.000000C565.000000 -500.000000,583.000000 -500.000000,583.000000 -520.000000C583.000000 -540.000000,565.000000 -540.000000,548.000000 -540.000000L390.000000 -540.000000C219.000000 -540.000000,83.000000 -410.000000,83.000000 -250.000000C83.000000 -90.000000,219.000000 40.000000,390.000000 40.000000L548.000000 40.000000C565.000000 40.000000,583.000000 40.000000,583.000000 20.000000C583.000000 -0.000000,565.000000 -0.000000,548.000000 -0.000000L392.000000 -0.000000C251.000000 -0.000000,136.000000 -96.000000,124.000000 -230.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_102">
      <path style="fill-rule: evenodd;" d="M283.000000 -617.000000C283.000000 -657.000000,309.000000 -721.000000,418.000000 -728.000000C423.000000 -729.000000,427.000000 -733.000000,427.000000 -739.000000C427.000000 -750.000000,419.000000 -750.000000,408.000000 -750.000000C308.000000 -750.000000,217.000000 -699.000000,216.000000 -625.000000L216.000000 -397.000000C216.000000 -358.000000,216.000000 -326.000000,176.000000 -293.000000C141.000000 -264.000000,103.000000 -262.000000,81.000000 -261.000000C76.000000 -260.000000,72.000000 -256.000000,72.000000 -250.000000C72.000000 -240.000000,78.000000 -240.000000,88.000000 -239.000000C154.000000 -235.000000,202.000000 -199.000000,213.000000 -150.000000C216.000000 -139.000000,216.000000 -137.000000,216.000000 -101.000000L216.000000 97.000000C216.000000 139.000000,216.000000 171.000000,264.000000 209.000000C303.000000 239.000000,369.000000 250.000000,408.000000 250.000000C419.000000 250.000000,427.000000 250.000000,427.000000 239.000000C427.000000 229.000000,421.000000 229.000000,411.000000 228.000000C348.000000 224.000000,299.000000 192.000000,286.000000 141.000000C283.000000 132.000000,283.000000 130.000000,283.000000 94.000000L283.000000 -116.000000C283.000000 -162.000000,275.000000 -179.000000,243.000000 -211.000000C222.000000 -232.000000,193.000000 -242.000000,165.000000 -250.000000C247.000000 -273.000000,283.000000 -319.000000,283.000000 -377.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_103">
      <path style="fill-rule: evenodd;" d="M216.000000 117.000000C216.000000 157.000000,190.000000 221.000000,81.000000 228.000000C76.000000 229.000000,72.000000 233.000000,72.000000 239.000000C72.000000 250.000000,83.000000 250.000000,92.000000 250.000000C189.000000 250.000000,282.000000 201.000000,283.000000 125.000000L283.000000 -103.000000C283.000000 -142.000000,283.000000 -174.000000,323.000000 -207.000000C358.000000 -236.000000,396.000000 -238.000000,418.000000 -239.000000C423.000000 -240.000000,427.000000 -244.000000,427.000000 -250.000000C427.000000 -260.000000,421.000000 -260.000000,411.000000 -261.000000C345.000000 -265.000000,297.000000 -301.000000,286.000000 -350.000000C283.000000 -361.000000,283.000000 -363.000000,283.000000 -399.000000L283.000000 -597.000000C283.000000 -639.000000,283.000000 -671.000000,235.000000 -709.000000C195.000000 -740.000000,126.000000 -750.000000,92.000000 -750.000000C83.000000 -750.000000,72.000000 -750.000000,72.000000 -739.000000C72.000000 -729.000000,78.000000 -729.000000,88.000000 -728.000000C151.000000 -724.000000,200.000000 -692.000000,213.000000 -641.000000C216.000000 -632.000000,216.000000 -630.000000,216.000000 -594.000000L216.000000 -384.000000C216.000000 -338.000000,224.000000 -321.000000,256.000000 -289.000000C277.000000 -268.000000,306.000000 -258.000000,334.000000 -250.000000C252.000000 -227.000000,216.000000 -181.000000,216.000000 -123.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_106">
      <path style="fill-rule: evenodd;" d="M159.000000 -714.000000C159.000000 -732.000000,159.000000 -750.000000,139.000000 -750.000000C119.000000 -750.000000,119.000000 -732.000000,119.000000 -714.000000L119.000000 214.000000C119.000000 232.000000,119.000000 250.000000,139.000000 250.000000C159.000000 250.000000,159.000000 232.000000,159.000000 214.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_59">
      <path style="fill-rule: evenodd;" d="M203.000000 -1.000000C203.000000 -67.000000,178.000000 -106.000000,139.000000 -106.000000C106.000000 -106.000000,86.000000 -81.000000,86.000000 -53.000000C86.000000 -26.000000,106.000000 -0.000000,139.000000 -0.000000C151.000000 -0.000000,164.000000 -4.000000,174.000000 -13.000000C177.000000 -15.000000,178.000000 -16.000000,179.000000 -16.000000C180.000000 -16.000000,181.000000 -15.000000,181.000000 -1.000000C181.000000 73.000000,146.000000 133.000000,113.000000 166.000000C102.000000 177.000000,102.000000 179.000000,102.000000 182.000000C102.000000 189.000000,107.000000 193.000000,112.000000 193.000000C123.000000 193.000000,203.000000 116.000000,203.000000 -1.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_82">
      <path style="fill-rule: evenodd;" d="M375.000000 -614.000000C381.000000 -638.000000,384.000000 -648.000000,403.000000 -651.000000C412.000000 -652.000000,444.000000 -652.000000,464.000000 -652.000000C535.000000 -652.000000,646.000000 -652.000000,646.000000 -553.000000C646.000000 -519.000000,630.000000 -450.000000,591.000000 -411.000000C565.000000 -385.000000,512.000000 -353.000000,422.000000 -353.000000L310.000000 -353.000000M519.000000 -340.000000C620.000000 -362.000000,739.000000 -432.000000,739.000000 -533.000000C739.000000 -619.000000,649.000000 -683.000000,518.000000 -683.000000L233.000000 -683.000000C213.000000 -683.000000,204.000000 -683.000000,204.000000 -663.000000C204.000000 -652.000000,213.000000 -652.000000,232.000000 -652.000000C234.000000 -652.000000,253.000000 -652.000000,270.000000 -650.000000C288.000000 -648.000000,297.000000 -647.000000,297.000000 -634.000000C297.000000 -630.000000,296.000000 -627.000000,293.000000 -615.000000L159.000000 -78.000000C149.000000 -39.000000,147.000000 -31.000000,68.000000 -31.000000C50.000000 -31.000000,41.000000 -31.000000,41.000000 -11.000000C41.000000 -0.000000,53.000000 -0.000000,55.000000 -0.000000L181.000000 -0.000000L83.000000 -0.000000L153.000000 -3.000000L181.000000 -3.000000L209.000000 -3.000000L280.000000 -0.000000L308.000000 -0.000000C316.000000 -0.000000,328.000000 -0.000000,328.000000 -20.000000C328.000000 -31.000000,319.000000 -31.000000,300.000000 -31.000000C263.000000 -31.000000,235.000000 -31.000000,235.000000 -49.000000C235.000000 -55.000000,237.000000 -60.000000,238.000000 -66.000000L304.000000 -331.000000L423.000000 -331.000000C514.000000 -331.000000,532.000000 -275.000000,532.000000 -240.000000C532.000000 -225.000000,524.000000 -194.000000,518.000000 -171.000000C511.000000 -143.000000,502.000000 -106.000000,502.000000 -86.000000C502.000000 22.000000,622.000000 22.000000,635.000000 22.000000C720.000000 22.000000,755.000000 -79.000000,755.000000 -93.000000C755.000000 -105.000000,744.000000 -105.000000,743.000000 -105.000000C734.000000 -105.000000,732.000000 -98.000000,730.000000 -91.000000C705.000000 -17.000000,662.000000 -0.000000,639.000000 -0.000000C606.000000 -0.000000,599.000000 -22.000000,599.000000 -61.000000C599.000000 -92.000000,605.000000 -143.000000,609.000000 -175.000000C611.000000 -189.000000,613.000000 -208.000000,613.000000 -222.000000C613.000000 -299.000000,546.000000 -330.000000,519.000000 -340.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_105">
      <path style="fill-rule: evenodd;" d="M284.000000 -625.000000C284.000000 -645.000000,270.000000 -661.000000,247.000000 -661.000000C220.000000 -661.000000,193.000000 -635.000000,193.000000 -608.000000C193.000000 -589.000000,207.000000 -572.000000,231.000000 -572.000000C254.000000 -572.000000,284.000000 -595.000000,284.000000 -625.000000M208.000000 -249.000000C220.000000 -278.000000,220.000000 -280.000000,230.000000 -307.000000C238.000000 -327.000000,243.000000 -341.000000,243.000000 -360.000000C243.000000 -405.000000,211.000000 -442.000000,161.000000 -442.000000C67.000000 -442.000000,29.000000 -297.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -280.000000,57.000000 -296.000000C84.000000 -390.000000,124.000000 -420.000000,158.000000 -420.000000C166.000000 -420.000000,183.000000 -420.000000,183.000000 -388.000000C183.000000 -367.000000,176.000000 -346.000000,172.000000 -336.000000C164.000000 -310.000000,119.000000 -194.000000,103.000000 -151.000000C93.000000 -125.000000,80.000000 -92.000000,80.000000 -71.000000C80.000000 -24.000000,114.000000 11.000000,162.000000 11.000000C256.000000 11.000000,293.000000 -134.000000,293.000000 -143.000000C293.000000 -153.000000,284.000000 -153.000000,281.000000 -153.000000C271.000000 -153.000000,271.000000 -150.000000,266.000000 -135.000000C248.000000 -72.000000,215.000000 -11.000000,164.000000 -11.000000C147.000000 -11.000000,140.000000 -21.000000,140.000000 -44.000000C140.000000 -69.000000,146.000000 -83.000000,169.000000 -144.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_106">
      <path style="fill-rule: evenodd;" d="M397.000000 -625.000000C397.000000 -644.000000,383.000000 -661.000000,359.000000 -661.000000C336.000000 -661.000000,306.000000 -638.000000,306.000000 -608.000000C306.000000 -588.000000,320.000000 -572.000000,343.000000 -572.000000C370.000000 -572.000000,397.000000 -598.000000,397.000000 -625.000000M196.000000 50.000000C177.000000 126.000000,129.000000 183.000000,73.000000 183.000000C67.000000 183.000000,52.000000 183.000000,34.000000 174.000000C64.000000 167.000000,79.000000 141.000000,79.000000 121.000000C79.000000 105.000000,68.000000 86.000000,41.000000 86.000000C16.000000 86.000000,-13.000000 107.000000,-13.000000 143.000000C-13.000000 183.000000,27.000000 205.000000,75.000000 205.000000C145.000000 205.000000,238.000000 152.000000,263.000000 53.000000L355.000000 -313.000000C360.000000 -333.000000,360.000000 -347.000000,360.000000 -350.000000C360.000000 -407.000000,318.000000 -442.000000,268.000000 -442.000000C166.000000 -442.000000,109.000000 -297.000000,109.000000 -288.000000C109.000000 -278.000000,119.000000 -278.000000,121.000000 -278.000000C130.000000 -278.000000,131.000000 -279.000000,139.000000 -298.000000C164.000000 -359.000000,210.000000 -420.000000,265.000000 -420.000000C279.000000 -420.000000,297.000000 -416.000000,297.000000 -374.000000C297.000000 -351.000000,294.000000 -340.000000,290.000000 -323.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_107">
      <path style="fill-rule: evenodd;" d="M287.000000 -683.000000C287.000000 -684.000000,287.000000 -694.000000,274.000000 -694.000000C251.000000 -694.000000,178.000000 -686.000000,152.000000 -684.000000C144.000000 -683.000000,133.000000 -682.000000,133.000000 -664.000000C133.000000 -652.000000,142.000000 -652.000000,157.000000 -652.000000C205.000000 -652.000000,207.000000 -645.000000,207.000000 -635.000000L204.000000 -615.000000L59.000000 -39.000000C55.000000 -25.000000,55.000000 -23.000000,55.000000 -17.000000C55.000000 6.000000,75.000000 11.000000,84.000000 11.000000C97.000000 11.000000,112.000000 2.000000,118.000000 -10.000000C123.000000 -19.000000,168.000000 -204.000000,174.000000 -229.000000C208.000000 -226.000000,290.000000 -210.000000,290.000000 -144.000000C290.000000 -137.000000,290.000000 -133.000000,287.000000 -123.000000C285.000000 -111.000000,283.000000 -99.000000,283.000000 -88.000000C283.000000 -29.000000,323.000000 11.000000,375.000000 11.000000C405.000000 11.000000,432.000000 -5.000000,454.000000 -42.000000C479.000000 -86.000000,490.000000 -141.000000,490.000000 -143.000000C490.000000 -153.000000,481.000000 -153.000000,478.000000 -153.000000C468.000000 -153.000000,467.000000 -149.000000,464.000000 -135.000000C444.000000 -62.000000,421.000000 -11.000000,377.000000 -11.000000C358.000000 -11.000000,345.000000 -22.000000,345.000000 -58.000000C345.000000 -75.000000,349.000000 -98.000000,353.000000 -114.000000C357.000000 -131.000000,357.000000 -135.000000,357.000000 -145.000000C357.000000 -210.000000,294.000000 -239.000000,209.000000 -250.000000C240.000000 -268.000000,272.000000 -300.000000,295.000000 -324.000000C343.000000 -377.000000,389.000000 -420.000000,438.000000 -420.000000C444.000000 -420.000000,445.000000 -420.000000,447.000000 -419.000000C459.000000 -417.000000,460.000000 -417.000000,468.000000 -411.000000C470.000000 -410.000000,470.000000 -409.000000,472.000000 -407.000000C424.000000 -404.000000,415.000000 -365.000000,415.000000 -353.000000C415.000000 -337.000000,426.000000 -318.000000,453.000000 -318.000000C479.000000 -318.000000,508.000000 -340.000000,508.000000 -379.000000C508.000000 -409.000000,485.000000 -442.000000,440.000000 -442.000000C412.000000 -442.000000,366.000000 -434.000000,294.000000 -354.000000C260.000000 -316.000000,221.000000 -276.000000,183.000000 -261.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_120">
      <path style="fill-rule: evenodd;" d="M334.000000 -302.000000C340.000000 -328.000000,363.000000 -420.000000,433.000000 -420.000000C438.000000 -420.000000,462.000000 -420.000000,483.000000 -407.000000C455.000000 -402.000000,435.000000 -377.000000,435.000000 -353.000000C435.000000 -337.000000,446.000000 -318.000000,473.000000 -318.000000C495.000000 -318.000000,527.000000 -336.000000,527.000000 -376.000000C527.000000 -428.000000,468.000000 -442.000000,434.000000 -442.000000C376.000000 -442.000000,341.000000 -389.000000,329.000000 -366.000000C304.000000 -432.000000,250.000000 -442.000000,221.000000 -442.000000C117.000000 -442.000000,60.000000 -313.000000,60.000000 -288.000000C60.000000 -278.000000,70.000000 -278.000000,72.000000 -278.000000C80.000000 -278.000000,83.000000 -280.000000,85.000000 -289.000000C119.000000 -395.000000,185.000000 -420.000000,219.000000 -420.000000C238.000000 -420.000000,273.000000 -411.000000,273.000000 -353.000000C273.000000 -322.000000,256.000000 -255.000000,219.000000 -115.000000C203.000000 -53.000000,168.000000 -11.000000,124.000000 -11.000000C118.000000 -11.000000,95.000000 -11.000000,74.000000 -24.000000C99.000000 -29.000000,121.000000 -50.000000,121.000000 -78.000000C121.000000 -105.000000,99.000000 -113.000000,84.000000 -113.000000C54.000000 -113.000000,29.000000 -87.000000,29.000000 -55.000000C29.000000 -9.000000,79.000000 11.000000,123.000000 11.000000C189.000000 11.000000,225.000000 -59.000000,228.000000 -65.000000C240.000000 -28.000000,276.000000 11.000000,336.000000 11.000000C439.000000 11.000000,496.000000 -118.000000,496.000000 -143.000000C496.000000 -153.000000,487.000000 -153.000000,484.000000 -153.000000C475.000000 -153.000000,473.000000 -149.000000,471.000000 -142.000000C438.000000 -35.000000,370.000000 -11.000000,338.000000 -11.000000C299.000000 -11.000000,283.000000 -43.000000,283.000000 -77.000000C283.000000 -99.000000,289.000000 -121.000000,300.000000 -165.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_48">
      <path style="fill-rule: evenodd;" d="M516.000000 -319.000000C516.000000 -429.000000,503.000000 -508.000000,457.000000 -578.000000C426.000000 -624.000000,364.000000 -664.000000,284.000000 -664.000000C52.000000 -664.000000,52.000000 -391.000000,52.000000 -319.000000C52.000000 -247.000000,52.000000 20.000000,284.000000 20.000000C516.000000 20.000000,516.000000 -247.000000,516.000000 -319.000000M284.000000 -8.000000C238.000000 -8.000000,177.000000 -35.000000,157.000000 -117.000000C143.000000 -176.000000,143.000000 -258.000000,143.000000 -332.000000C143.000000 -405.000000,143.000000 -481.000000,158.000000 -536.000000C179.000000 -615.000000,243.000000 -636.000000,284.000000 -636.000000C338.000000 -636.000000,390.000000 -603.000000,408.000000 -545.000000C424.000000 -491.000000,425.000000 -419.000000,425.000000 -332.000000C425.000000 -258.000000,425.000000 -184.000000,412.000000 -121.000000C392.000000 -30.000000,324.000000 -8.000000,284.000000 -8.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_49">
      <path style="fill-rule: evenodd;" d="M335.000000 -636.000000C335.000000 -663.000000,333.000000 -664.000000,305.000000 -664.000000C241.000000 -601.000000,150.000000 -600.000000,109.000000 -600.000000L109.000000 -564.000000C133.000000 -564.000000,199.000000 -564.000000,254.000000 -592.000000L254.000000 -82.000000C254.000000 -49.000000,254.000000 -36.000000,154.000000 -36.000000L116.000000 -36.000000L116.000000 -0.000000L294.000000 -0.000000L134.000000 -1.000000L257.000000 -4.000000L294.000000 -4.000000L325.000000 -4.000000L451.000000 -1.000000L473.000000 -0.000000L473.000000 -36.000000L435.000000 -36.000000C335.000000 -36.000000,335.000000 -49.000000,335.000000 -82.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_50">
      <path style="fill-rule: evenodd;" d="M505.000000 -182.000000L471.000000 -182.000000C468.000000 -160.000000,458.000000 -101.000000,445.000000 -91.000000C437.000000 -85.000000,360.000000 -85.000000,346.000000 -85.000000L162.000000 -85.000000C267.000000 -178.000000,302.000000 -206.000000,362.000000 -253.000000C436.000000 -312.000000,505.000000 -374.000000,505.000000 -469.000000C505.000000 -590.000000,399.000000 -664.000000,271.000000 -664.000000C147.000000 -664.000000,63.000000 -577.000000,63.000000 -485.000000C63.000000 -434.000000,106.000000 -429.000000,116.000000 -429.000000C140.000000 -429.000000,169.000000 -446.000000,169.000000 -482.000000C169.000000 -500.000000,162.000000 -535.000000,110.000000 -535.000000C141.000000 -606.000000,209.000000 -628.000000,256.000000 -628.000000C356.000000 -628.000000,408.000000 -550.000000,408.000000 -469.000000C408.000000 -382.000000,346.000000 -313.000000,314.000000 -277.000000L73.000000 -39.000000C63.000000 -30.000000,63.000000 -28.000000,63.000000 -0.000000L475.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_51">
      <path style="fill-rule: evenodd;" d="M273.000000 -334.000000C351.000000 -334.000000,407.000000 -280.000000,407.000000 -173.000000C407.000000 -49.000000,335.000000 -12.000000,277.000000 -12.000000C237.000000 -12.000000,149.000000 -23.000000,107.000000 -82.000000C154.000000 -84.000000,165.000000 -117.000000,165.000000 -138.000000C165.000000 -170.000000,141.000000 -193.000000,110.000000 -193.000000C82.000000 -193.000000,54.000000 -176.000000,54.000000 -135.000000C54.000000 -41.000000,158.000000 20.000000,279.000000 20.000000C418.000000 20.000000,514.000000 -73.000000,514.000000 -173.000000C514.000000 -251.000000,450.000000 -329.000000,340.000000 -352.000000C445.000000 -390.000000,483.000000 -465.000000,483.000000 -526.000000C483.000000 -605.000000,392.000000 -664.000000,281.000000 -664.000000C170.000000 -664.000000,85.000000 -610.000000,85.000000 -530.000000C85.000000 -496.000000,107.000000 -477.000000,137.000000 -477.000000C168.000000 -477.000000,188.000000 -500.000000,188.000000 -528.000000C188.000000 -557.000000,168.000000 -578.000000,137.000000 -580.000000C172.000000 -624.000000,241.000000 -635.000000,278.000000 -635.000000C323.000000 -635.000000,386.000000 -613.000000,386.000000 -526.000000C386.000000 -484.000000,372.000000 -438.000000,346.000000 -407.000000C313.000000 -369.000000,285.000000 -367.000000,235.000000 -364.000000C210.000000 -362.000000,208.000000 -362.000000,203.000000 -361.000000C201.000000 -361.000000,193.000000 -359.000000,193.000000 -348.000000C193.000000 -334.000000,202.000000 -334.000000,219.000000 -334.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.607529 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_102"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,8.577652 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,17.687912 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,28.381073 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,44.321472 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,53.431732 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,64.124908 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_3"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,75.637253 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_105"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,84.671051 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,100.611282 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,109.721710 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,120.414871 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_3"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,131.927246 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_106"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,142.946152 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,158.886383 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,167.996811 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_51"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,178.689972 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_3"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,190.202347 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_107"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,199.002701 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_106"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,203.430542 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,212.540833 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,219.691879 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,226.776413 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,235.886673 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,243.037750 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,250.122253 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,259.232513 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,266.383591 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,273.468094 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,282.578384 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_51"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,294.157135 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,309.211761 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_82"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,321.438202 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_103"></use>
  </g>
</svg></span>. In HALCON, quaternions are
represented by a tuple containing four elements:
<span title="2" style="vertical-align:-0.37221em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="6.07316em" height="1.12127em" viewBox="0 0 97.170609 17.940399">
<!-- Original BoundingBox: -48.585312 -8.970200 48.585297 8.970200 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_91">
      <path style="fill-rule: evenodd;" d="M255.000000 250.000000L255.000000 210.000000L158.000000 210.000000L158.000000 -710.000000L255.000000 -710.000000L255.000000 -750.000000L118.000000 -750.000000L118.000000 250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_93">
      <path style="fill-rule: evenodd;" d="M159.000000 -750.000000L22.000000 -750.000000L22.000000 -710.000000L119.000000 -710.000000L119.000000 210.000000L22.000000 210.000000L22.000000 250.000000L159.000000 250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_59">
      <path style="fill-rule: evenodd;" d="M203.000000 -1.000000C203.000000 -67.000000,178.000000 -106.000000,139.000000 -106.000000C106.000000 -106.000000,86.000000 -81.000000,86.000000 -53.000000C86.000000 -26.000000,106.000000 -0.000000,139.000000 -0.000000C151.000000 -0.000000,164.000000 -4.000000,174.000000 -13.000000C177.000000 -15.000000,178.000000 -16.000000,179.000000 -16.000000C180.000000 -16.000000,181.000000 -15.000000,181.000000 -1.000000C181.000000 73.000000,146.000000 133.000000,113.000000 166.000000C102.000000 177.000000,102.000000 179.000000,102.000000 182.000000C102.000000 189.000000,107.000000 193.000000,112.000000 193.000000C123.000000 193.000000,203.000000 116.000000,203.000000 -1.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_120">
      <path style="fill-rule: evenodd;" d="M334.000000 -302.000000C340.000000 -328.000000,363.000000 -420.000000,433.000000 -420.000000C438.000000 -420.000000,462.000000 -420.000000,483.000000 -407.000000C455.000000 -402.000000,435.000000 -377.000000,435.000000 -353.000000C435.000000 -337.000000,446.000000 -318.000000,473.000000 -318.000000C495.000000 -318.000000,527.000000 -336.000000,527.000000 -376.000000C527.000000 -428.000000,468.000000 -442.000000,434.000000 -442.000000C376.000000 -442.000000,341.000000 -389.000000,329.000000 -366.000000C304.000000 -432.000000,250.000000 -442.000000,221.000000 -442.000000C117.000000 -442.000000,60.000000 -313.000000,60.000000 -288.000000C60.000000 -278.000000,70.000000 -278.000000,72.000000 -278.000000C80.000000 -278.000000,83.000000 -280.000000,85.000000 -289.000000C119.000000 -395.000000,185.000000 -420.000000,219.000000 -420.000000C238.000000 -420.000000,273.000000 -411.000000,273.000000 -353.000000C273.000000 -322.000000,256.000000 -255.000000,219.000000 -115.000000C203.000000 -53.000000,168.000000 -11.000000,124.000000 -11.000000C118.000000 -11.000000,95.000000 -11.000000,74.000000 -24.000000C99.000000 -29.000000,121.000000 -50.000000,121.000000 -78.000000C121.000000 -105.000000,99.000000 -113.000000,84.000000 -113.000000C54.000000 -113.000000,29.000000 -87.000000,29.000000 -55.000000C29.000000 -9.000000,79.000000 11.000000,123.000000 11.000000C189.000000 11.000000,225.000000 -59.000000,228.000000 -65.000000C240.000000 -28.000000,276.000000 11.000000,336.000000 11.000000C439.000000 11.000000,496.000000 -118.000000,496.000000 -143.000000C496.000000 -153.000000,487.000000 -153.000000,484.000000 -153.000000C475.000000 -153.000000,473.000000 -149.000000,471.000000 -142.000000C438.000000 -35.000000,370.000000 -11.000000,338.000000 -11.000000C299.000000 -11.000000,283.000000 -43.000000,283.000000 -77.000000C283.000000 -99.000000,289.000000 -121.000000,300.000000 -165.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_48">
      <path style="fill-rule: evenodd;" d="M516.000000 -319.000000C516.000000 -429.000000,503.000000 -508.000000,457.000000 -578.000000C426.000000 -624.000000,364.000000 -664.000000,284.000000 -664.000000C52.000000 -664.000000,52.000000 -391.000000,52.000000 -319.000000C52.000000 -247.000000,52.000000 20.000000,284.000000 20.000000C516.000000 20.000000,516.000000 -247.000000,516.000000 -319.000000M284.000000 -8.000000C238.000000 -8.000000,177.000000 -35.000000,157.000000 -117.000000C143.000000 -176.000000,143.000000 -258.000000,143.000000 -332.000000C143.000000 -405.000000,143.000000 -481.000000,158.000000 -536.000000C179.000000 -615.000000,243.000000 -636.000000,284.000000 -636.000000C338.000000 -636.000000,390.000000 -603.000000,408.000000 -545.000000C424.000000 -491.000000,425.000000 -419.000000,425.000000 -332.000000C425.000000 -258.000000,425.000000 -184.000000,412.000000 -121.000000C392.000000 -30.000000,324.000000 -8.000000,284.000000 -8.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_49">
      <path style="fill-rule: evenodd;" d="M335.000000 -636.000000C335.000000 -663.000000,333.000000 -664.000000,305.000000 -664.000000C241.000000 -601.000000,150.000000 -600.000000,109.000000 -600.000000L109.000000 -564.000000C133.000000 -564.000000,199.000000 -564.000000,254.000000 -592.000000L254.000000 -82.000000C254.000000 -49.000000,254.000000 -36.000000,154.000000 -36.000000L116.000000 -36.000000L116.000000 -0.000000L294.000000 -0.000000L134.000000 -1.000000L257.000000 -4.000000L294.000000 -4.000000L325.000000 -4.000000L451.000000 -1.000000L473.000000 -0.000000L473.000000 -36.000000L435.000000 -36.000000C335.000000 -36.000000,335.000000 -49.000000,335.000000 -82.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_50">
      <path style="fill-rule: evenodd;" d="M505.000000 -182.000000L471.000000 -182.000000C468.000000 -160.000000,458.000000 -101.000000,445.000000 -91.000000C437.000000 -85.000000,360.000000 -85.000000,346.000000 -85.000000L162.000000 -85.000000C267.000000 -178.000000,302.000000 -206.000000,362.000000 -253.000000C436.000000 -312.000000,505.000000 -374.000000,505.000000 -469.000000C505.000000 -590.000000,399.000000 -664.000000,271.000000 -664.000000C147.000000 -664.000000,63.000000 -577.000000,63.000000 -485.000000C63.000000 -434.000000,106.000000 -429.000000,116.000000 -429.000000C140.000000 -429.000000,169.000000 -446.000000,169.000000 -482.000000C169.000000 -500.000000,162.000000 -535.000000,110.000000 -535.000000C141.000000 -606.000000,209.000000 -628.000000,256.000000 -628.000000C356.000000 -628.000000,408.000000 -550.000000,408.000000 -469.000000C408.000000 -382.000000,346.000000 -313.000000,314.000000 -277.000000L73.000000 -39.000000C63.000000 -30.000000,63.000000 -28.000000,63.000000 -0.000000L475.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_51">
      <path style="fill-rule: evenodd;" d="M273.000000 -334.000000C351.000000 -334.000000,407.000000 -280.000000,407.000000 -173.000000C407.000000 -49.000000,335.000000 -12.000000,277.000000 -12.000000C237.000000 -12.000000,149.000000 -23.000000,107.000000 -82.000000C154.000000 -84.000000,165.000000 -117.000000,165.000000 -138.000000C165.000000 -170.000000,141.000000 -193.000000,110.000000 -193.000000C82.000000 -193.000000,54.000000 -176.000000,54.000000 -135.000000C54.000000 -41.000000,158.000000 20.000000,279.000000 20.000000C418.000000 20.000000,514.000000 -73.000000,514.000000 -173.000000C514.000000 -251.000000,450.000000 -329.000000,340.000000 -352.000000C445.000000 -390.000000,483.000000 -465.000000,483.000000 -526.000000C483.000000 -605.000000,392.000000 -664.000000,281.000000 -664.000000C170.000000 -664.000000,85.000000 -610.000000,85.000000 -530.000000C85.000000 -496.000000,107.000000 -477.000000,137.000000 -477.000000C168.000000 -477.000000,188.000000 -500.000000,188.000000 -528.000000C188.000000 -557.000000,168.000000 -578.000000,137.000000 -580.000000C172.000000 -624.000000,241.000000 -635.000000,278.000000 -635.000000C323.000000 -635.000000,386.000000 -613.000000,386.000000 -526.000000C386.000000 -484.000000,372.000000 -438.000000,346.000000 -407.000000C313.000000 -369.000000,285.000000 -367.000000,235.000000 -364.000000C210.000000 -362.000000,208.000000 -362.000000,203.000000 -361.000000C201.000000 -361.000000,193.000000 -359.000000,193.000000 -348.000000C193.000000 -334.000000,202.000000 -334.000000,219.000000 -334.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.430679 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_91"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,4.858551 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,13.968811 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,21.119888 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,28.204391 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,37.314651 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,44.465729 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,51.550232 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,60.660522 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,67.811432 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,74.896103 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_120"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,84.006363 14.376099)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_51"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,91.157272 11.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_93"></use>
  </g>
</svg></span>.
</p>
<p>Unit quaternions can be used to describe rotations. A quaternion is a unit
quaternion if its norm is 1. A
counterclockwise rotation around an unit vector v
(<a href="#AxisX"><i><code><span data-if="hdevelop" style="display:inline">AxisX</span><span data-if="c" style="display:none">AxisX</span><span data-if="cpp" style="display:none">AxisX</span><span data-if="com" style="display:none">AxisX</span><span data-if="dotnet" style="display:none">axisX</span><span data-if="python" style="display:none">axis_x</span></code></i></a>, <a href="#AxisY"><i><code><span data-if="hdevelop" style="display:inline">AxisY</span><span data-if="c" style="display:none">AxisY</span><span data-if="cpp" style="display:none">AxisY</span><span data-if="com" style="display:none">AxisY</span><span data-if="dotnet" style="display:none">axisY</span><span data-if="python" style="display:none">axis_y</span></code></i></a>,
<a href="#AxisZ"><i><code><span data-if="hdevelop" style="display:inline">AxisZ</span><span data-if="c" style="display:none">AxisZ</span><span data-if="cpp" style="display:none">AxisZ</span><span data-if="com" style="display:none">AxisZ</span><span data-if="dotnet" style="display:none">axisZ</span><span data-if="python" style="display:none">axis_z</span></code></i></a>) by an angle a (<a href="#Angle"><i><code><span data-if="hdevelop" style="display:inline">Angle</span><span data-if="c" style="display:none">Angle</span><span data-if="cpp" style="display:none">Angle</span><span data-if="com" style="display:none">Angle</span><span data-if="dotnet" style="display:none">angle</span><span data-if="python" style="display:none">angle</span></code></i></a>) can be described by
the unit quaternion q =(cos(a/2), sin(a/2) v).
</p>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">axis_angle_to_quat</span><span data-if="c" style="display:none">axis_angle_to_quat</span><span data-if="cpp" style="display:none">AxisAngleToQuat</span><span data-if="com" style="display:none">AxisAngleToQuat</span><span data-if="dotnet" style="display:none">AxisAngleToQuat</span><span data-if="python" style="display:none">axis_angle_to_quat</span></code> can be used to create such a
quaternion. To rotate a point using <a href="#Quaternion"><i><code><span data-if="hdevelop" style="display:inline">Quaternion</span><span data-if="c" style="display:none">Quaternion</span><span data-if="cpp" style="display:none">Quaternion</span><span data-if="com" style="display:none">Quaternion</span><span data-if="dotnet" style="display:none">quaternion</span><span data-if="python" style="display:none">quaternion</span></code></i></a> use 该算子
<a href="quat_rotate_point_3d.html"><code><span data-if="hdevelop" style="display:inline">quat_rotate_point_3d</span><span data-if="c" style="display:none">quat_rotate_point_3d</span><span data-if="cpp" style="display:none">QuatRotatePoint3d</span><span data-if="com" style="display:none">QuatRotatePoint3d</span><span data-if="dotnet" style="display:none">QuatRotatePoint3d</span><span data-if="python" style="display:none">quat_rotate_point_3d</span></code></a>.
</p>
<p>Note that two rotations can be concatenated using 该算子
<a href="quat_compose.html"><code><span data-if="hdevelop" style="display:inline">quat_compose</span><span data-if="c" style="display:none">quat_compose</span><span data-if="cpp" style="display:none">QuatCompose</span><span data-if="com" style="display:none">QuatCompose</span><span data-if="dotnet" style="display:none">QuatCompose</span><span data-if="python" style="display:none">quat_compose</span></code></a>. Further, you can use a rotation quaternion to
set the orientation of the 3D plot in <a href="set_paint.html"><code><span data-if="hdevelop" style="display:inline">set_paint</span><span data-if="c" style="display:none">set_paint</span><span data-if="cpp" style="display:none">SetPaint</span><span data-if="com" style="display:none">SetPaint</span><span data-if="dotnet" style="display:none">SetPaint</span><span data-if="python" style="display:none">set_paint</span></code></a>.</p>
<h2 id="sec_attention">注意</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">axis_angle_to_quat</span><span data-if="c" style="display:none">axis_angle_to_quat</span><span data-if="cpp" style="display:none">AxisAngleToQuat</span><span data-if="com" style="display:none">AxisAngleToQuat</span><span data-if="dotnet" style="display:none">AxisAngleToQuat</span><span data-if="python" style="display:none">axis_angle_to_quat</span></code> does not check whether the vector
(<a href="#AxisX"><i><code><span data-if="hdevelop" style="display:inline">AxisX</span><span data-if="c" style="display:none">AxisX</span><span data-if="cpp" style="display:none">AxisX</span><span data-if="com" style="display:none">AxisX</span><span data-if="dotnet" style="display:none">axisX</span><span data-if="python" style="display:none">axis_x</span></code></i></a>, <a href="#AxisY"><i><code><span data-if="hdevelop" style="display:inline">AxisY</span><span data-if="c" style="display:none">AxisY</span><span data-if="cpp" style="display:none">AxisY</span><span data-if="com" style="display:none">AxisY</span><span data-if="dotnet" style="display:none">axisY</span><span data-if="python" style="display:none">axis_y</span></code></i></a>, <a href="#AxisZ"><i><code><span data-if="hdevelop" style="display:inline">AxisZ</span><span data-if="c" style="display:none">AxisZ</span><span data-if="cpp" style="display:none">AxisZ</span><span data-if="com" style="display:none">AxisZ</span><span data-if="dotnet" style="display:none">axisZ</span><span data-if="python" style="display:none">axis_z</span></code></i></a>) is of unit length (i.e. of
length 1). If this is not the case, <a href="#Quaternion"><i><code><span data-if="hdevelop" style="display:inline">Quaternion</span><span data-if="c" style="display:none">Quaternion</span><span data-if="cpp" style="display:none">Quaternion</span><span data-if="com" style="display:none">Quaternion</span><span data-if="dotnet" style="display:none">quaternion</span><span data-if="python" style="display:none">quaternion</span></code></i></a> will be no valid
rotation quaternion.</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="AxisX" class="parname"><b><code><span data-if="hdevelop" style="display:inline">AxisX</span><span data-if="c" style="display:none">AxisX</span><span data-if="cpp" style="display:none">AxisX</span><span data-if="com" style="display:none">AxisX</span><span data-if="dotnet" style="display:none">axisX</span><span data-if="python" style="display:none">axis_x</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Union[float, int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">X component of the rotation axis.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="AxisY" class="parname"><b><code><span data-if="hdevelop" style="display:inline">AxisY</span><span data-if="c" style="display:none">AxisY</span><span data-if="cpp" style="display:none">AxisY</span><span data-if="com" style="display:none">AxisY</span><span data-if="dotnet" style="display:none">axisY</span><span data-if="python" style="display:none">axis_y</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Union[float, int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Y component of the rotation axis.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="AxisZ" class="parname"><b><code><span data-if="hdevelop" style="display:inline">AxisZ</span><span data-if="c" style="display:none">AxisZ</span><span data-if="cpp" style="display:none">AxisZ</span><span data-if="com" style="display:none">AxisZ</span><span data-if="dotnet" style="display:none">axisZ</span><span data-if="python" style="display:none">axis_z</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Union[float, int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Z component of the rotation axis.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Angle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Angle</span><span data-if="c" style="display:none">Angle</span><span data-if="cpp" style="display:none">Angle</span><span data-if="com" style="display:none">Angle</span><span data-if="dotnet" style="display:none">angle</span><span data-if="python" style="display:none">angle</span></code></b> (input_control)  </span><span>real <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Union[float, int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Rotation angle in radians.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Quaternion" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Quaternion</span><span data-if="c" style="display:none">Quaternion</span><span data-if="cpp" style="display:none">Quaternion</span><span data-if="com" style="display:none">Quaternion</span><span data-if="dotnet" style="display:none">quaternion</span><span data-if="python" style="display:none">quaternion</span></code></b> (output_control)  </span><span>quaternion <code>→</code> <span data-if="dotnet" style="display:none"><a href="HQuaternion.html">HQuaternion</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Rotation quaternion.</p>
</div>
<h2 id="sec_example_all">例程 (HDevelop)</h2>
<pre class="example">
** Normalize a vector and create a rotation quaternion
Length := sqrt(AxisX*AxisX+AxisY*AxisY+AxisZ*AxisZ)
AxisX := AxisX/Length
AxisY := AxisY/Length
AxisZ := AxisZ/Length
axis_angle_to_quat (AxisX, AxisY, AxisZ, rad(90), Quaternion)
</pre>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="quat_to_hom_mat3d.html"><span data-if="hdevelop" style="display:inline">quat_to_hom_mat3d</span><span data-if="c" style="display:none">quat_to_hom_mat3d</span><span data-if="cpp" style="display:none">QuatToHomMat3d</span><span data-if="com" style="display:none">QuatToHomMat3d</span><span data-if="dotnet" style="display:none">QuatToHomMat3d</span><span data-if="python" style="display:none">quat_to_hom_mat3d</span></a></code>, 
<code><a href="quat_to_pose.html"><span data-if="hdevelop" style="display:inline">quat_to_pose</span><span data-if="c" style="display:none">quat_to_pose</span><span data-if="cpp" style="display:none">QuatToPose</span><span data-if="com" style="display:none">QuatToPose</span><span data-if="dotnet" style="display:none">QuatToPose</span><span data-if="python" style="display:none">quat_to_pose</span></a></code>, 
<code><a href="quat_rotate_point_3d.html"><span data-if="hdevelop" style="display:inline">quat_rotate_point_3d</span><span data-if="c" style="display:none">quat_rotate_point_3d</span><span data-if="cpp" style="display:none">QuatRotatePoint3d</span><span data-if="com" style="display:none">QuatRotatePoint3d</span><span data-if="dotnet" style="display:none">QuatRotatePoint3d</span><span data-if="python" style="display:none">quat_rotate_point_3d</span></a></code>, 
<code><a href="quat_compose.html"><span data-if="hdevelop" style="display:inline">quat_compose</span><span data-if="c" style="display:none">quat_compose</span><span data-if="cpp" style="display:none">QuatCompose</span><span data-if="com" style="display:none">QuatCompose</span><span data-if="dotnet" style="display:none">QuatCompose</span><span data-if="python" style="display:none">quat_compose</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="quat_normalize.html"><span data-if="hdevelop" style="display:inline">quat_normalize</span><span data-if="c" style="display:none">quat_normalize</span><span data-if="cpp" style="display:none">QuatNormalize</span><span data-if="com" style="display:none">QuatNormalize</span><span data-if="dotnet" style="display:none">QuatNormalize</span><span data-if="python" style="display:none">quat_normalize</span></a></code>, 
<code><a href="quat_conjugate.html"><span data-if="hdevelop" style="display:inline">quat_conjugate</span><span data-if="c" style="display:none">quat_conjugate</span><span data-if="cpp" style="display:none">QuatConjugate</span><span data-if="com" style="display:none">QuatConjugate</span><span data-if="dotnet" style="display:none">QuatConjugate</span><span data-if="python" style="display:none">quat_conjugate</span></a></code>, 
<code><a href="quat_interpolate.html"><span data-if="hdevelop" style="display:inline">quat_interpolate</span><span data-if="c" style="display:none">quat_interpolate</span><span data-if="cpp" style="display:none">QuatInterpolate</span><span data-if="com" style="display:none">QuatInterpolate</span><span data-if="dotnet" style="display:none">QuatInterpolate</span><span data-if="python" style="display:none">quat_interpolate</span></a></code>, 
<code><a href="screw_to_dual_quat.html"><span data-if="hdevelop" style="display:inline">screw_to_dual_quat</span><span data-if="c" style="display:none">screw_to_dual_quat</span><span data-if="cpp" style="display:none">ScrewToDualQuat</span><span data-if="com" style="display:none">ScrewToDualQuat</span><span data-if="dotnet" style="display:none">ScrewToDualQuat</span><span data-if="python" style="display:none">screw_to_dual_quat</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
